/*

二次确认框

type -- quitFight 退出战斗
        quitGame 退出场景
		saveData 覆盖存档
		sellOut  清空仓库
*/
window._CHOICEMANAGER = {

	_CHOICETYPE:null,

	_CHOICEPARAM:null,

	_CHOICECONFIG:{
		'resetEquip':{
			message:'此操作会消耗一个重铸石并将装备锻造等级和锻造属性全部重置,确定要重铸?',
			doFunc:function(param){
				if(_GAMEDATAHELPER.reduceSomeItemByName('重铸石',1)){
					_MDZ.realResetEquip();
				}else{
					_TIPS.showMessage('重铸石不足重铸失败!');
				}

			}
		},
		'ygbh':{
			message:'此地图尚未解锁,是否消耗一个月光宝盒(积分界面有售)进行传送',
			doFunc:function(param){
				
				var mapname = param.map;
				if(_MAPCONFIG[mapname]){
					if(_GAMEDATAHELPER.reduceSomeItemByName('月光宝盒',1)){
						_NPCDL.closeUi();
						_MAP.jumpToMap(mapname,'下');
					}else{
						_TIPS.showMessage('月光宝盒不足传送失败!');
					}
				}else{
					_TIPS.showMessage('地图不存在传送失败!');
				}

			}
		},
		'rhAll':{
			message:'是否要融合替补中所有同种族未上锁的角色并消耗等量的融合丹?',
			doFunc:function(param){
				console.log('融合所有',param);
				_RHM.rhAll(param.role);
			}
		},
		'useAll':{
			message:'是否要全部使用此道具？(点确认全部使用,点取消只使用一个)',
			doFunc:function(param){
				console.log('useAll',param);
				_MGD.useAttrItem(param.itemConfig,param.role,param.goodsInfo,param.param.arr,param.param.goodsIndex,true);
			},
			cancelFunc:function(param){
				console.log('useOnce',param);
				_MGD.useAttrItem(param.itemConfig,param.role,param.goodsInfo,param.param.arr,param.param.goodsIndex,false);
			}
		},
		'quitFight':{
			message:'确认要投降？',
			doFunc:function(param){
				//console.log(param,'投降');
				_FIGHT.giveBackAll();
				window._JUMPSENCE = 'faile';
				cc.director.loadScene('jump');
			}
		},
		'selloutall':{
			message:'确定要出售当前分类仓库种所有未上锁的物品？',
			doFunc:function(param){
				console.log('当前仓库:',param);
				var message = _GAMEDATAHELPER.selloutall(param);
				_MG.refreshPage(_MG._CURRENTLABEL);
				_TIPS.showMessage(message);

			}
		},

		'savedata':{
			message:'该操作会覆盖已存在的存档,是否确认？',
			doFunc:function(param){
				
				_MSD.saveData(param.index);
                _MSD.refreshUi(param.node);

			}
		},

		'randomRole':{
			message:'确认要放弃这个属性还不错的角色？',
			doFunc:function(param){
				
				window._RANDOM.realRandom(param);

			}
		},

		'giveUpWork':{
			message:'此任务已经完成,确定要放弃？',
			doFunc:function(param){
				
				window.gameData.workList.splice(param.workIndex,1);
				_MWORK.refresh(false);

			}
		},

		'giveUpMainWork':{
			message:'主线任务包含大量奖励,确定要放弃？',
			doFunc:function(param){
				
				window.gameData.workList.splice(param.workIndex,1);
				_MWORK.refresh(false);

			}
		},

		'shareVideo':{
			message:'是否要分享刚刚录制的这段视频？',
			doFunc:function(param){
				
				VDM.shareVideo(param.path);

			}
		},

	    'quitChessFight':{
			message:'确定要退出战场？(若仓库中有炉石可以原地脱离战斗,否则会传送回基地)',
			doFunc:function(param){
				if(window.fightData.isFightBoss){
					_CHESSFIGHT.jumpPkBack();
				}else if(window.fightData.isFinal){
					_CHESSFIGHT.jumpBossBack();
				}else{
					_CHESSFIGHT.jumpBack();
				}
			}
		},

		'resetXw':{
			message:'重置修为会返还所有升级消耗的木头,同时所有普通队员变为无业失去所有技能和修为,合成队员恢复初始技能修为,确定要重置？',
			doFunc:function(param){
				_MXLU.resetAllXw();
			}
		},

		'fireRole':{
			message:'确定要解雇所有未锁定的替补角色？(此操作会返还被解雇角色对应的属性丹)',
			doFunc:function(param){
				_MPEOPLE.fireAll();
			}
		},

		'faileChessFight':{
			message:'我军战败！撤回基地',
			doFunc:function(param){
				window.gameData.defaultMap='如意画卷';
				window.gameData.targetPoint="游戏开始";//目标坐标点
				_CHESSFIGHT.giveBackAll();
				window._JUMPSENCE = 'map'
				cc.director.loadScene('jump');
			}
		},

		'stepChessFight':{
			message:'我军战败(行动次数超过上限)！撤回基地',
			doFunc:function(param){
				window.gameData.defaultMap='如意画卷';
				window.gameData.targetPoint="游戏开始";//目标坐标点
				_CHESSFIGHT.giveBackAll();
				window._JUMPSENCE = 'map'
				cc.director.loadScene('jump');
			}
		},

		'successChessFight':{
			message:'我军获胜！',
			doFunc:function(param){
				_CHESSFIGHT.jumpToNextLevel();
			}
		},

		'successAndPassChessFight':{
			message:'我军获胜！发现一个出口,是否通过此地？（选确定从出口通过,选取消进入下一层）',
			doFunc:function(param){
				_CHESSFIGHT.jumpToChapterOut();
			},
			cancelFunc:function(){
				_CHESSFIGHT.jumpToNextLevel();
			}
		}
	},

	showChoice:function(parentNode,type,param){

		//console.log('投降',);

		_CHOICEMANAGER._CHOICETYPE = type;

		_CHOICEMANAGER._CHOICEPARAM = param;

		if(_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE]){

			var choiceObj = _GRM.getNodeObj('choiceUi');
			var choiceLabel = choiceObj.node;

			
			choiceLabel.getChildByName('message').getComponent(cc.Label).string 
			= _CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE].message;
			

			if(choiceObj.isnew){
				choiceLabel.getChildByName('cancel').on(cc.Node.EventType.TOUCH_START, _CHOICEMANAGER.cancelFunc, choiceLabel);
				choiceLabel.getChildByName('confirm').on(cc.Node.EventType.TOUCH_START, _CHOICEMANAGER.confirmFunc, choiceLabel);
			}

			if(param&&param.nocancel){
				choiceLabel.getChildByName('cancel').active = false;
			}else{
				choiceLabel.getChildByName('cancel').active = true;
			}

			parentNode.addChild(choiceLabel);

		}
	},

	cancelFunc:function(){
		if(
			_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE]
			&&_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE].cancelFunc
		){
			_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE].cancelFunc(_CHOICEMANAGER._CHOICEPARAM);
		}
		_GRM.putNode(this);
	},

	confirmFunc:function(){
		if(_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE]){
			_CHOICEMANAGER._CHOICECONFIG[_CHOICEMANAGER._CHOICETYPE].doFunc(_CHOICEMANAGER._CHOICEPARAM);
		}
		_GRM.putNode(this);
	}

}
